package com.techsoul.module.tms.pojo.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.techsoul.common.core.annotation.ExcelField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 采购订单明细表
 * </p>
 *
 * @author liuen
 * @since 2019-09-10
 */
@Data
@Accessors(chain = true)
public class TPoPurchaseOrderItemVo implements Serializable {

    private static final long serialVersionUID = 1L;

    private String materialName;


    private String materialCategoryTreeNames;



    private String dropOffWarehouseNo;

    private String transitWarehouseNo;

    private String materialId;

    /**
     * 记录 ID，系统自动产生
     */
    private String id;

    private String itemNo;
    /**
     * ref t_po_purchase_order
     */
    private String purchaseOrderId;

    /**
     * ref t_so_sales_order
     */



    private String materialDesc;
    private String measUnit;
    private String cusotmerProductNo;
    private String cusotmerProducName;
    private BigDecimal orderQuantity;
    private BigDecimal diffQuantity;
    private BigDecimal salesQuantity;

    private String priceCode;
    private String balanceCurrenctyNo;
    private BigDecimal unitPrice;
    private BigDecimal accountSum;
    private BigDecimal taxAccount;
    private BigDecimal cost;
    private BigDecimal discountSum;
    private BigDecimal discountRate;
    private BigDecimal addOnsDisccountRate;
    private BigDecimal orderDiscountSum;
    private BigDecimal valueAddedTax;
    private BigDecimal containTaxUnitPrice;
    private BigDecimal containTaxSum;




    private BigDecimal leadTime;
    private String noteText;
    private String supplierId;
    private Date productExpierDate;
    private String productBatchNumber;
    private String mappedYn;
    private Date requiredEffectedLength;
    private BigDecimal purchaseLineId;
    private BigDecimal remainQuantity;


    private String warehouseInOrderNo;
    private String thisTimeShipped;
    private String consigneeId;
    private Date produceDate;
    private String status;
    private String departure;


    private String destination;

    private String spec;
    private String shipbyQtyWeightOrPack;
    private String consigneePhone;
    private BigDecimal miles;
    private String skuCode;
    private String isHotYn;
    private String packing;
    private BigDecimal packQty;
    private BigDecimal weight;
    private BigDecimal volume;
    private String weightMeasUnit;
    private String volumeMeasUnit;
    private String isSelfRouteYn;
    private String freightOrderTypeNo;
    private String departZone;

    private String site;


    /**
     * 是否有效，数据字典 yn_type，1 表示是，0 表示否，默认0
     */
    private String isValid;





    private String chassisCertNumber;



    private String certificatesNo;

    private String manufactory;






    private Date certificatesDate;
    private String accessaryDeliveryYn;
    private Date arrangedFreightDate;


    /**
     * 更新人
     */
    private String updateBy;
    private Date estDeliveryTime;


    @ExcelField(title = "SAP交货单", sort =1)
    private String pickupVoucherList;

    @ExcelField(title = "创建时间",sort = 10)
    private Date createDate;

    @ExcelField(title = "品牌",sort = 20)
    private String vehicleBrand;
    @ExcelField(title = "子品牌",sort = 30)
    private String vehicleName;

    @ExcelField(title = "上游运输方式", sort = 40)
    private String freightTransportType;

    @ExcelField(title = "运输方式",sort = 50)
    private String serviceType;

    @ApiModelProperty("轿运装车类型")
    @ExcelField(title = "是否厢车",sort = 60)
    private String vehicleLoadType;

    @ExcelField(title = "轴距",sort = 70)
    private String wheelbase;

    @ExcelField(title = "发车省",sort = 80)
    private String startProvince;
    @ExcelField(title = "发车市",sort = 90)
    private String startUrban;

    @ExcelField(title = "发车区",sort = 100)
    private String startArea;
    @ExcelField(title = "发车单位",sort = 110)
    private String departureUnit;
    @ExcelField(title = "要求发车时间",sort = 120)
    private Date estPickUpTime;
    @ExcelField(title = "VIN",sort = 130)
    private String vinNo;
    @ExcelField(title = "要求送到时间",sort = 140)
    private Date demandDeliveryDate;
    @ExcelField(title = "收车省",sort = 150)
    private String collectionProvince;

    @ExcelField(title = "收车市", sort = 160)
    private String pickupCity;

    @ExcelField(title = "收车区",sort = 170)
    private String collectionArea;

    @ExcelField(title = "收车单位", sort = 180)
    private String consigneeName;

    @ExcelField(title = "订单备注",sort = 190)
    private String remark;
    @ExcelField(title = "承运商简称",sort = 200)
    private String carrier;
    @ExcelField(title = "司机",sort = 210)
    private String driverName;
    @ExcelField(title = "车牌号",sort = 220)
    private String vehicleNo;
    @ExcelField(title = "订单状态",sort = 230)
    private String orderStatus;
    @ExcelField(title = "计划退账日期",sort = 240)
    private Date plannedChargebackDate;
    @ExcelField(title = "实际退账日期",sort = 250)
    private Date realityChargebackDate;
    @ExcelField(title = "实际发车时间",sort = 260)
    private Date arrangedDeliveryDate;
    @ExcelField(title = "实际到达时间",sort = 270)
    private Date promiseDeliveryDate;
    @ExcelField(title = "电子回单状态",sort = 280)
    private String electronicReceiptStatus;
    @ExcelField(title = "电子回单日期",sort = 290)
    private Date electronicReceiptDate;
    @ExcelField(title = "签收人",sort = 300)
    private String signName;

    @ExcelField(title = "签收时间",sort = 305)
    private Date signDate;
    @ExcelField(title = "签收状态",sort = 310)
    private String signStatus;
    @ExcelField(title = "评价状态",sort = 320)
    private String evaluationStatus;
    @ExcelField(title = "发车详细地址",sort = 325)
    private String pickUpAddress;
    @ExcelField(title = "收车详细地址",sort = 330)
    private String deliveryAddress;
    @ExcelField(title = "订单调度状态",sort = 340)
    private String orderDispatchStatus;
    @ExcelField(title = "BTO/BTF",sort = 350)
    private String btoBtf;
    @ExcelField(title = "装运点描述",sort = 360)
    private String shipmentDescription;
    @ExcelField(title = "库存地点描述", sort = 370) // 需转换成仓库编码
    private String pickUpWarehouseNo;
    @ExcelField(title = "客户名称",sort = 380)
    private String customerName;
    @ExcelField(title = "提车人", sort = 390)
    private String contactName;
    @ExcelField(title = "提车时间", sort = 400)
    private Date pickupStartDate;
    @ExcelField(title = "分配承运商时间",sort = 410)
    private Date carrierDate;
    @ExcelField(title = "合格证说明",sort = 420)
    private String illustrate;

    @ExcelField(title = "物料描述", sort = 430)
    private String materialDescribe;
    @ExcelField(title = "动力平台描述",sort = 440)
    private String powerDescription;
    @ExcelField(title = "司机电话",sort = 450)
    private String driverPhone;


    @ExcelField(title = "承运商",sort = 460)
    private String carrierName;
    @ExcelField(title = "打印时间",sort = 465)
    private String printTime;
    @ExcelField(title = "市场部",sort = 470)
    private String marketDepartment;

    @ExcelField(title = "配板编组人",sort = 480)
    private String dispatcher;

    @ExcelField(title = "异常状态 ",sort = 490)
    private String exceptionStatus;
    @ExcelField(title = "事业部",sort = 500)
    private String causeDepartment;
    @ExcelField(title = "订单类型",sort = 510)
    private String orderType;

    @ExcelField(title = "订单号", sort = 520)
    private String purchaseOrderNo;
    @ExcelField(title = "驾驶室类型",sort = 530)
    private String pilothouseType;
    @ExcelField(title = "异常上报原因",sort = 540)
    private String exceptionReportReason;
    @ExcelField(title = "车型",sort = 550)
    private String vehicleModel;
    @ExcelField(title = "SAP入库时间",sort = 560)
    private Date sapStorageDate;
    @ExcelField(title = "出中心库时间",sort = 570)
    private Date outboundDate;
    @ExcelField(title = "SAP出库时间",sort = 580)
    private Date sapOutboundDate;


    @ExcelField(title = "SAP交货单创建时间",sort = 590)
    private Date sapDeliveryCreateDate;

    @ExcelField(title = "SAP过账时间",sort = 600)
    private Date sapTransferItemsDate;
    @ExcelField(title = "区域名称",sort = 610)
    private String destZone;
    @ExcelField(title = "分公司", sort = 620)
    private String branchOffice;
    @ExcelField(title = "到达类型",sort = 630)
    private String arrivalType;
    @ExcelField(title = "发车单位代码",sort = 640)
    private String customerNo;
    @ExcelField(title = "车辆类型",sort = 650)
    private String vehicleType;

    @ExcelField(title = "变速箱类型",sort = 660)
    private String transmissionType;

    @ExcelField(title = "销售大区",sort = 670)
    private String salesArea;
    @ExcelField(title = "收车单位代码",sort = 680)
    private String collectionUnit;
    @ExcelField(title = "设备类型",sort = 690)
    private String deviceType;
    @ExcelField(title = "起运类型",sort = 700)
    private String departureType;
    @ExcelField(title = "发动机号",sort = 710)
    private String engineNo;
    @ExcelField(title = "驱动",sort = 720)
    private String drive;
    @ApiModelProperty("马力")
    @ExcelField(title = "马力",sort = 730)
    private String enginePower;
    @ApiModelProperty("排放")
    @ExcelField(title = "排放",sort = 740)
    private String paiFang;
    @ExcelField(title = "公告号",sort = 750)
    private String salesOrderNo;
    @ExcelField(title = "打印次数",sort = 770)
    private String printCt;
    @ExcelField(title = "打印状态",sort = 760)
    private String printStatus;

    /**
     * 提货开始日期
     */



    private String  produceOrderNo;

    //  @ExcelField(title = "出口国家",sort = 700)
    private String exportCountry;



    //提货仓库







    /**
     * 备注
     */










    /**
     * 物流公司名称
     */


    /**
     * 物流公司编号
     */
    //   @ExcelField(title = "承运商编码",sort = 20)
    private String carrierNo;

    /**
     * 公告号
     */
    //
    //  @ExcelField(title = "物流驾送",sort = 22)
    private String deliveryType;
    //
    //   @ExcelField(title = "异常上报状态类型",sort = 24)
    private String exceptionReportType;
    //



    // @ExcelField(title = "TMS运单号",sort = 29)
    private String salesOrderId;



    //


    //
    //  @ExcelField(title = "上下车",sort = 35)
    private String vehicleUpperBelow;
    //   @ExcelField(title = "物料编码",sort = 36)
    private String materialNo;
    //  @ExcelField(title = "承运商份额代码",sort = 37)
    private String carrierCode;
    //  @ExcelField(title = "是否自动分配承运商",sort = 38)
    private String isCarrier;

    //


    //
    //
    //
//
    //


    //
    //  @ExcelField(title = "销售组织",sort = 50)
    private String salesOrganization;

    // @ExcelField(title = "运输线路",sort = 52)
    private String transportRoute;

    // @ExcelField(title = "分销渠道",sort = 54)
    private String distribution;
    //
    //
    //
    //

    /**
     * 创建时间
     */
    //

    //  @ExcelField(title = "发动机类型描述",sort = 61)
    private String engineModelDescribe;
    //
    // @ExcelField(title = "物流部",sort = 63)
    private String logisticsDepartment;

    // @ExcelField(title = "设备编号",sort = 65)
    private String deviceCode;
    // @ExcelField(title = "加急标记",sort = 66)
    private String urgentMarking;


    // @ExcelField(title = "需求单位计划",sort = 69)
    private String unitPlan;

    //

    //  @ExcelField(title = "订单来源",sort = 73)
    private String orderSource;

    // @ExcelField(title = "计费状态",sort = 86)
    private String billingStatus;

    /**
     * 更新时间
     */
    // @ExcelField(title = "修改时间",sort = 87)
    private Date updateDate;
    /**
     * 创建人
     */
    //  @ExcelField(title = "创建人",sort = 88)
    private String createBy;
    //  @ExcelField(title = "审核人",sort = 89)
    private String examineName;
    //  @ExcelField(title = "审核时间",sort = 90)
    private Date examineDate;
    //
    // @ExcelField(title = "车系",sort = 92)
    private String vehicleSeries;
    // @ExcelField(title = "发动机类型",sort = 93)
    private String engineModel;
    //
    //
//
    //   @ExcelField(title = "燃料类型",sort = 99)
    private String vehicleFueType;
    //




}
